<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="./Promise.js?a=1"></script>
    <script>
        // 1- then函数返回新的Promise对象的状态以及值受回调函数的返回值影响
        //   1-1 如果回调函数返回的是一个非Promise实例，那么得到的是状态成功，值为返回值
        //   1-2 如果回调函数返回的是一个Promise实例，那么得到的是状态以及值同返回promise相同
        //   1-3 如果回调函数发生异常，那么得到的是状态失败，值为异常信息
        const p1 = new Promise((resolve,reject)=>{
            resolve(100);
            // reject(200);
            // throw "异常"
        })
        // console.log(p1);
        const p2 = p1.then(function(value){
            // console.log("成功回调",value);
            return 1000;
            // return new Promise(resolve=>{
            //     resolve(80);
            // })
            // return new Promise((resolve,reject)=>{
            //     reject(800);
            // })
            // throw "成功回调异常";
        },function(reason){
            // console.log("失败回调",reason);
            // return 70;
            // return new Promise(resolve=>{
            //     resolve(80);
            // })
            // return new Promise((resolve,reject)=>{
            //     reject(800);
            // })
            throw "失败回调异常";
        })
        console.log(p2);// 成功，值为1000
    </script>
</body>
</html>